package com.kerrykidz.scminvoicing.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.kerrykidz.scminvoicing.dao.model.ScmInStgEntity;
import com.rdp.framework.exception.RDPException;

/**
 * 
 * @ClassName: ScmInStgEntityMapper
 * @description: 商品入库
 * @author: visitor
 * @date: 2014年8月8日 上午10:18:18
 * @version: V1.0
 * 
 */
@Repository
public interface ScmInStgEntityMapper {

	/**
	 * @Title: findScmInStgById
	 * @Description: 查询入库单
	 * @param pkInstgId
	 *            入库单号
	 * @date: 2014年8月8日
	 * @return: List<ScmInStgEntity>
	 */
	List<ScmInStgEntity> findScmInStg(ScmInStgEntity scmInStg)throws RDPException;

	/**
	 * 
	 * @Title: insertScmInStg
	 * @Description:商品入库单表插入数据
	 * @param: scmInStg
	 * @date: 2014年8月13日
	 * @return: void
	 * @throws RDPException
	 * 
	 */
	void insertScmInStg(ScmInStgEntity scmInStg)throws RDPException;

	/**
	 * 
	*
	* @Title: delScmInStg
	* @Description: 入库单软删除
	* @param: <p>@param scmInStg<p>
	* @date: 2014年8月20日
	* @return: void
	* @throws 
	*
	 */
	void delScmInStg(@Param("pkInstgId")String pkInstgId)throws RDPException; 
	
	/**
	 * 
	 * @Title: selectScmInStg
	 * @Description:查询入库清单
	 * @param: @param scmInStg
	 * @date: 2014年8月19日
	 * @return: ScmInStgEntity
	 * @throws
	 * 
	 */
	 ScmInStgEntity selectScmInStg(String pkInstgId);
	
	/**
	 * 
	* @Title: getStockInCount
	* @Description: 商品入库单中查询当前订单数，
	* 用于判断删除入库单后，订单的到货状态：如果订单数为0，表示该订单未到货
	* @param: scmInStg
	* @date: 2014年8月28日
	* @return: ScmInStgEntity
	* @throws RDPException
	*
	 */
	 ScmInStgEntity getStockInCount(ScmInStgEntity scmInStg)throws RDPException;
}